home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / minix / up1510b.tgz / up1510b / doc / ic.doc < prev    next >
Text File  |  1990-07-19  |  4KB  |  141 lines

  1. NAME
  2.     ic(1)        - integer calculator
  3.  
  4. SYNOPSIS
  5.     ic  [ args ] ...
  6.  
  7. DESCRIPTION
  8.     This is a simple RPN calculator, used for small calculations
  9.     and base conversions. All calculations are done using 32 bit
  10.     integers.
  11.  
  12.     The standard input is usually a keyboard and the standard output 
  13.     requires a device with a "termcap" entry.
  14.  
  15.     The program starts by interpreting any <args> as commands, where
  16.     the separation between arguments is considered to be the same as
  17.     the ENTER key. For example, "ic 692 784+". After reading the
  18.     arguments input is from the keyboard.
  19.  
  20.  
  21.     STACK OPERATIONS
  22.  
  23.     The operation of this program is similar to an RPN calculator.
  24.     A six level stack is used. The ENTER key pushes the stack up one 
  25.     level. For example, "12+5" is entered as "12 ENTER 5 +".
  26.  
  27.     The top two entries on the stack are exchanged by the 'x' 
  28.     command, and the stack is rolled down one (popped) by the
  29.     'p' key.
  30.  
  31.     The top of the stack may be cleared by pressing the back-space
  32.     key. The whole stack and the registers are initialized by a 'z'.
  33.  
  34.  
  35.     NUMERIC ENTRY
  36.  
  37.     The input and output bases are initially decimal, but they may
  38.     be changed using the 'i' and 'o' commands. The 'i' command changes
  39.     both bases, but the 'o' command changes just the output base.
  40.     These commands take a one character argument of 'h', 'd', 'o' or
  41.     'b' to change to Hexadecimal, Decimal, Octal or Binary. While the 
  42.     input base is hexadecimal the letters 'a' through 'f' are used 
  43.     to represent the decimal values 10 through 15.
  44.  
  45.     When the input base is decimal: multiply, divide and remainder
  46.     are signed, otherwise they are performed unsigned.
  47.  
  48.     The output base may also be changed to ASCII ('a'), this causes
  49.     the least significant 7 bits of a value to be displayed as a
  50.     character. To input an ASCII value the translate ('t') command
  51.     may be used, it accepts one character as its argument.
  52.  
  53.  
  54.     CALCULATIONS
  55.  
  56.     The arithmetic operations supported are: Negate ('.'), Add ('+'), 
  57.     Subtract ('-'), Multiply ('*'), Divide ('/'), and Remainder ('%').
  58.     The logical operations available are: Not ('~'), And ('&'), Or ('|'), 
  59.     and Exclusive-or ('^').
  60.  
  61.     After one of these operations the last top of stack value is
  62.     saved. It may be restored by pressing 'l' (L).
  63.  
  64.  
  65.     SAVING RESULTS
  66.  
  67.     Ten temporary registers are available. The Store ('s') command
  68.     followed by a digit ('0'..'9') will copy the top of the stack
  69.     to the specified register. The Recall ('r') command pushes the
  70.     contents of a register onto the top of the stack.
  71.  
  72.     If the Store command is followed by a '+' preceding the digit, then
  73.     the top of the stack will be added to the specified "accumulator"
  74.     register.
  75.  
  76.     Values may also be written to a file. The 'w' command writes the
  77.     top of the stack, using the current output base, to a file called 
  78.     "pad" in the current directory.  If the user does not have write 
  79.     access to the current directory then the file "/tmp/pad_$USER" is 
  80.     used as the scratch pad. The scratch pad file is erased on the
  81.     first use of the 'w' command within each new invocation of "ic".
  82.  
  83.  
  84.     LEAVING THE PROGRAM
  85.  
  86.     The Quit ('q') key causes an immediate exit. (End of file on
  87.     standard input, the SIGINT and the SIGQUIT interrupts also terminate
  88.     the program.)
  89.  
  90.     The 'm' command temporarily leaves "ic" by invoking the Minix "sh"
  91.     shell as a sub-process.
  92.  
  93.     For help while using "ic", hit the 'h' key. If an erroneous key
  94.     is pressed the bell will sound.
  95.  
  96.  
  97.     COMMAND SUMMARY
  98.  
  99.     Note that many commands have an alternative key-code available
  100.     on the extended AT keyboard. This aids entry by including most
  101.     commands on the right side of the keyboard.
  102.  
  103.     ENTER        Enter (push up)
  104.     BS (DEL)    Clear top of stack
  105.  
  106.     h        Help
  107.     i        Input base  (h, d, o, b)
  108.     l  (PGDN)   Last top of stack
  109.     m        Minix shell
  110.     o        Output base (h, d, o, b, a)
  111.     p  (DOWN)   Pop stack (roll down)
  112.     q  (END)    Quit
  113.     r  (LEFT)   Recall (0-9)
  114.     s  (RIGHT)  Store [+] (0-9)
  115.     t        Translate (char)
  116.     w  (PGUP)   Write top of stack to scratch pad
  117.     x  (UP)     Exchange top of stack
  118.     z  (HOME)   Zero all state
  119.  
  120.     .        Change sign
  121.     +  (+)        Add
  122.     -  (-)        Subtract
  123.     *        Multiply
  124.     /        Divide
  125.     %  (sh/5)   Remainder
  126.  
  127.     ~        Not
  128.     &        And
  129.     |        Or
  130.     ^        Exclusive-or
  131.  
  132. FILES
  133.     ./pad
  134.     /tmp/pad_$USER
  135.  
  136. SEE ALSO
  137.     dc(1), expr(1)
  138.  
  139. AUTHOR
  140.     Terrence W. Holm
  141.